package cn.atzxc.qy.domain.vo;

import cn.atzxc.qy.domain.Address;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import java.util.Date;

/**
 * 任务管理模块对象 task
 *
 * @author atzxc
 * @date 2024-04-23
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
public class TaskVo
{
    /** 任务ID */
    @TableId(value = "task_id", type = IdType.AUTO)
    private Long taskId;

    /** 用户ID */
    @TableField("user_id")
    private Long userId;

    /** 任务编号 */
    @TableField("task_code")
    private String taskCode;

    /** 任务分类 */
    @TableField("task_category_id")
    private Long taskCategoryId;

    /** 任务备注 */
    @TableField("task_title")
    private String taskTitle;

    /** 描述 */
    @TableField("task_description")
    private String taskDescription;

    /** 取货地址 */
    @TableField("task_homeAddress_id")
    private String taskHomeaddressId;

    /** 收货地址 */
    @TableField("task_goAddress_id")
    private String taskGoaddressId;

    /** 任务价格 */
    @TableField("task_reward")
    private Long taskReward;

    /** 任务状态 */
    @TableField("task_status")
    private String taskStatus;

    /** 发布时间 */
    @TableField("task_start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date taskStartTime;

    /** 截止时间 */
    @TableField("task_deadline_time")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date taskDeadlineTime;

    /** 所属大学 */
    @TableField("task_university")
    private String taskUniversity;

    /** 性别要求 */
    @TableField("task_sexDemand")
    private String taskSexdemand;

    /** 文件地址 */
    @TableField("task_fileUrl")
    private String taskFileurl;

    /** 任务图片 */
    @TableField("task_imageUrl")
    private String taskImageurl;

    /** 物品数量 */
    @TableField("task_goods_num")
    private String taskGoodsNum;

    /** 物品体积 */
    @TableField("task_size")
    private String taskSize;

    @TableField("username")
    private String username;//用户名
    @TableField("avatarImage")
    private String avatarImage;//用户头像
    @TableField("categoryName")
    private String category;//分类名称

    private Address addressHome;
    private Address addressGo;

}
